package controller.gui;

import gui.Display;
import gui.SecondaryMenu;

import java.awt.event.ActionEvent;

import javax.swing.JButton;

import mapelements.foreground.Foreground;

import controller.BackupMapUser;
import controller.Controller;
import controller.NullStaticObjectException;
import controller.states.MapElementToAddStateUser;

/**rappresenta un controllore che gestisce un pulsante di cancellazione "standard".
 * Un controller "standard" di un pulsante di cancellazione ha, oltre a tutte le proprietà del CancelButtonController,
 * anche:
 * <ul>
 *  <li>il recupero (se esiste) della mappa di backup e l'impostazione della stessa come mappa principale</li>
 *  <li>l'impostazione dell'<tt>userObjectToAddState</tt> al valore <tt>CLASSUNCHOOSEN</tt></li>
 * </ul>
 * 
 * @author koldar
 * @version 1.3
 */
public class DefaultCancelButtonController extends CancelButtonController implements BackupMapUser{

	protected Display wireWithMap;
	
	public DefaultCancelButtonController(JButton button,SecondaryMenu _superpanel,Display wirewithMap) {
		super(button,_superpanel);
		this.wireWithMap=wirewithMap;
	}
	
	@Override
	public void otherInstructionList(ActionEvent arg0) {
		super.otherInstructionList(arg0);
		if (this.backupmap.getValue()!=null){
			this.setCurrentmap(this.backupmap.getValue());
			this.backupmap.setValue(null);
		}
	}


}
